//演示 lodash
//first / last / toUpper / reverse / each / includes / find / findIndex
const _ = require('lodash');

const array = ['jack', 'tom', 'luck', 'kate'];

//first = head 获取数组中的第一个元素
console.log(_.first(array));            //'jack'

//last 获取数组中的最后一个元素
console.log(_.last(array));             //'kate'

//toUpper  将字符串转化成大写
console.log(_.toUpper(_.first(array))); //'JACK'

//reverse  反转数组
//lodash中 reverse 调用的是数组的reverse方法 也会改变原数组 因此不是纯函数
console.log(_.reverse(array));            //[ 'kate', 'luck', 'tom', 'jack' ]    
console.log(array);                       //[ 'kate', 'luck', 'tom', 'jack' ]

//forEach = Each  遍历数组每个元素并对其进行相关处理 返回数组本身
const r = _.each(array, (item, index) => {
    console.log(item, index);
});

console.log(r);            //[ 'kate', 'luck', 'tom', 'jack' ]

//includes 用于判断数组是否包含一个指定的值
//find  返回通过测试（函数内的方法）的数组的第一个元素的值
//findIndex  返回通过测试（函数内的方法）的数组的第一个元素的索引值（元素位置）